package com.xiangge.array;

import java.util.Arrays;

/*
    选择排序：

 */
public class ArrayDemo2 {
    public static void main(String[] args) {
        // 1. 准备一个数组：{3,5,4,2,1}
        int[] arr = {5, 12, 90, 18, 77, 76, 45, 28, 59, 72};
        // 2. 外层循环控制排序的轮数： arr.length-1
        for (int i = 0; i < arr.length - 1; i++) {
            // 3. 找到[i,arr.length-1]范围内最小值的位置
            // 3.1 定义最小值和最小值的位置
            int min = arr[i];
            int minIndex = i;
            // 3.2 遍历数组[i+1,arr.length-1]
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[j] < min) {
                    min = arr[j];
                    minIndex = j;
                }
            }
            // 4. 将 arr[minIndex]  和 arr[i]
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
        }
        // 5. 输出结果
        System.out.println("选择排序之后的数组为：" + Arrays.toString(arr));
    }
}
